home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’96 / PredatorPrey / pred_prey_hndl.c next >
Text File  |  1996-06-22  |  3KB  |  83 lines

  1. PredDataHndl    pred_hndl;
  2. PreyDataHndl    prey_hndl;
  3.  
  4. pred_hndl = (PredDataHndl)NewHandle(sizeof(pred_data));
  5. prey_hndl = (PreyDataHndl)NewHandle(sizeof(prey_data));
  6.  
  7. /****************************************************/
  8.  
  9. typedef    struct
  10. {
  11.     objectDescr        object[1];
  12.     short            type;
  13.     Boolean            hasBackGround;
  14.     Boolean            isArmed;
  15.     short            targets_left;
  16.     short            armament_type;    /* 0 = guns, 1 = guns & missles, 2 = guns, missles & neutron bomb    */
  17.     short            arms_selected;    /* 0 = guns, 1 = missles, 2 = neutron bomb    */
  18.     Boolean            hasTargets;
  19.  
  20. }    pred_data, prey_data, **PredDataHndl, **PreyDataHndl;
  21.  
  22. /****************************************************/
  23.  
  24. typedef    struct
  25. {
  26.     Rect            bounds;                    /* obj_rect    */
  27.     short            type;                    /* objType    */
  28.     short            missles;
  29.     Boolean            selected;
  30.     Boolean            armed;
  31.     struct            _3dPtStrk    _3dPtH[22];    /* creation coordinates */
  32.     struct            _3dPtStrk    _3dPt[22];
  33.     struct            rotstruk    rotHist[4][4];
  34.     struct            msStruct    mStruct[14];
  35.     struct            sndStruct     sndStruct[10];
  36.     PolyHandle        thePoly[6];
  37.     PixPatHandle    thePPat[6];
  38. } objectDescr;
  39. /****************************************************/
  40. typedef    struct        /** contains info needed to specify each window's contents **/
  41. {
  42.     THPrint            prInfoHndl;
  43.     Boolean            dirty;
  44.     Boolean            hasRealName;
  45.     Boolean            hasBackGround;
  46.     Boolean            isArmed;
  47.     short            targets_left;
  48.     short            armament_type;    /* 0 = guns, 1 = guns & missles, 2 = guns, missles & neutron bomb    */
  49.     short            arms_selected;    /* 0 = guns, 1 = missles, 2 = neutron bomb    */
  50.     Boolean            hasTargets;
  51.     SFReply            findFile;
  52.     Point            scrollAmount;
  53.     ControlHandle    myVCntrlHdl;        /* verticle scroll bar */
  54.     ControlHandle    myHCntrlHdl;        /* horizontal scroll bar */
  55.     short            vDocLimit;
  56.     short            hDocLimit;
  57.     TPrint            printInfo;
  58.     short            paletteSetting;
  59.     short            vPtNo;
  60.     long            focalLn;
  61.     long            xvPt;
  62.     long            yvPt;
  63.     short            focalPtNo;
  64.     short            isPrey;
  65.     struct            _3dPtStrk_BG    gXYZplane;
  66.     objectDescr_BG    bg_object[22];            /*    22 is OK    */
  67.     objectDescr        object[MAX_OBJECTS];    /* objDescr */    /*    MAX_OBJECTS happens to be 30 */
  68. } WObjs, **WObjsHandle;
  69. /****************************************************/
  70.  
  71.  
  72.         if(PreyMenu != NIL)
  73.         {
  74.             pred_hndl = (predDataHndl)NewHandle(sizeof(predData));
  75.             (**pred_hndl).object[1] = (**w_objs_hndl).object[n];
  76.             (**pred_hndl).type = type;
  77.             (**pred_hndl).hasBackGround = (**w_objs_hndl).hasBackGround;
  78.             (**pred_hndl).isArmed = (**w_objs_hndl).isArmed;
  79.             (**pred_hndl).targets_left = (**w_objs_hndl).targets_left;
  80.             (**pred_hndl).armament_type = (**w_objs_hndl).armament_type;
  81.             (**pred_hndl).arms_selected = (**w_objs_hndl).arms_selected;
  82.             (**pred_hndl).hasTargets = (**w_objs_hndl).hasTargets;
  83.         }